Swimming speedometer system with near-eye display

ABSTRACT

An apparatus and method for measuring a swimmer&#39;s speed and conveying the speed to the swimmer in real time includes a plurality of ultrasonic beacons each having a transducer configured to emit ultrasonic signals in a pool or other body of water within which the swimmer is swimming. A wearable, waterproof, ultrasonic receiver worn by the swimmer, receives the ultrasonic signals and generates corresponding signal data. The receiver&#39;s microcontroller captures and uses the signal data to calculate the swimmer&#39;s position and speed in real time, and conveys this information to a wearable, waterproof, user interface device worn by the swimmer, the user interface device including a near-eye display disposed on the swimmer&#39;s goggles.

RELATED APPLICATION

This application is a Continuation-In-Part of U.S. patent application Ser. No. 15/360,745 entitled Swimming Speedometer System with Near-Eye Display, filed on Nov. 23, 2016, which claims the benefit of U.S. Provisional Patent Application Ser. No. 62/259,813 entitled Instantaneous Swimming Speedometer System, filed on Nov. 25, 2015, and claims the benefit of U.S. Provisional Patent Application Ser. No. 62/330,759 entitled Low-power, Near-Eye Display Module for Conveying Information by Text, filed on May 2, 2016, the contents all of which are incorporated herein by reference in their entireties for all purposes.

BACKGROUND Technical Field

Embodiments of the invention pertain to instantaneous feedback systems used by athletes to monitor and improve performance, and more specifically to such systems used by swimmers.

Background Information

Throughout this application, various publications, patents and published patent applications are referred to by an identifying citation. The disclosures of the publications, patents and published patent applications referenced in this application are hereby incorporated by reference into the present disclosure.

While training it is common for athletes to use devices and systems to provide themselves and their coaches with objective feedback. This is especially true for racing sports, where simple, unequivocal metrics such as time to traverse a distance, average speed, and instantaneous speed measured in training sessions correlate strongly with race performance. The value of these metrics is especially high in competitive swimming because the environmental conditions in the pool are tightly controlled. Unlike performances in other racing sports such as running, cycling, rowing, or cross country skiing, swimming performances are not affected by exogenous conditions such as wind, extreme temperature, obstructions, or interference by other competitors. This allows swimmers to meaningfully compare times recorded at different venues and lends significance to very small differences in times and speed.

Although objectively measured times and speed in the sport of swimming are among the most meaningful in all of sport, swimmers have little access to these measurements in their training sessions. In other racing sports, athletes can glance at a watch or computer mounted on their equipment without interrupting their training or racing. These watches and computers are able to present instantaneous speed information in real time derived by GPS or sport-specific devices such as a rotary encoder on the wheel for cycling or a hull-mounted impeller for rowing.

The sport of swimming is lacking both systems to collect instantaneous speed metrics in a practical manner and devices to present this information in real time to the swimmer. This lack of immediate feedback denies swimmers the most effective method to learn how subtle changes in technique can improve performance.

For most swimmers the closest metric they have to instantaneous speed is the time it takes them to swim one length of the pool or lap split. At best they have access to this metric once per lap by reading a pace clock while turning. If they are willing to go to great expense and inconvenience, motion capture or wire tether systems are available and present swimmers with a record of their instantaneous speed, but only after their performance is completed. To benefit from these measurements they must recall what they were thinking, feeling, and doing at the time speed was recorded to understand the effects of these thoughts, feeling, and actions on their speed. They cannot learn intuitively by observing the immediate effect of their actions on their speed but must learn in a contemplative manner.

But most swimmers must learn to swim faster with speed averaged over some long period such as a lap of the pool or the length of entire race as their only quantitative feedback. Variations in their speed that they might have been able to correlate to changes in technique are likely to be lost in the averaging process.

Systems and devices currently used to provide speed metrics include the following. The most common systems are listed first and provide the swimmers with only averaged speed metrics.

A pace clock is commonly used by swimmers to measure the time and speed of their swim. By observing the pace clock each lap, swimmers are able to calculate their lap split. This system is very simple, but only provides average speed information.

A coach with a stopwatch, who tells the swimmer their lap split when the swimmer is at rest. This system has the same limitations as the pace clock.

Lap counting devices that are worn by swimmers and provide information aurally after each lap is completed. Such a system is available commercially from Avidasports. This system automates the speed measurement process, but still only provides averaged information.

A system disclosed in U.S. Pat. No. 6,870,466B2 uses a proximity sensor to detect when a swimmer completes a lap and then presents this lap time or speed to the swimmer. The limitations of this method are that the speed information is averaged and the information is available after the lap is completed.

A system disclosed in U.S. Pat. No. 8,317,659B2 uses touch-sensitive devices to count elapsed lap time and provide this information to the swimmer by a display located in the pool that is visible to the swimmer while swimming. This system does not contemplate a method of providing instantaneous speed.

The following systems do provide instantaneous speed information but do so only in retrospect or in an impractical or cumbersome manner.

One approach uses a draw wire encoder attached to a swimmer, with which the swimmer's instantaneous speed is measured, and recorded. Such a system is available from Sport-Thieme. This system has the disadvantages that each swimmer must be attached to a cable, that changing direction is difficult for the swimmer, and that the cable attached to one swimmer may interfere with another swimmer's cable if multiple swimmers are using the system. Also this system does not have a means of providing immediate speed information to the swimmer.

A video motion capture system measuring instantaneous velocity is available from Qualisys AB for underwater use. The system does not have a means for providing velocity information in real time to the swimmer and requires an increasing number of cameras to track multiple swimmers.

A system using autonomous inertial sensors to calculate the position and speed of the swimmer is disclosed in U.S. Pat. No. 9,216,341B2. Currently this system is technically impractical with consumer grade inertial measurement units, since these units have a position error of greater than 25% of the distance traveled. This accuracy is not sufficient. Improvements in speed of just a few percent represent significant progress for most swimmers. The difference in time between the winning swimmers and those not qualifying for the final is typically less than 2% in elite international events. To achieve meaningful precision using this method is economically impractical since industrial grade sensors such as Analog Devices ADIS16488 that do provide less than 1% error cost more than 1000 dollars, and one such sensor would be required for each swimmer.

A system disclosed in US 2014/0200116 A1 uses motion capture to measure the velocity of the swimmer and then relays this information to the swimmer using an FM radio. This system is substantially that of Qualisys AB with the addition of a system transmitting the data derived by motion capture to the swimmer in real time. As such, it suffers from the same scalability issues requiring evermore hardware to track more swimmers.

There are several patents in the field of swimming that disclose the use of an in-goggle display but they either do not describe how to implement such a display (U.S. Pat. No. 6,870,466B2, U.S. Pat. No. 9,216,341B2, U.S. Pat. No. 4,776,045A) or they describe a display that is impractical for swimming because of size or shape (U.S. Pat. Nos. 5,585,871A, 5,685,722A) and except for U.S. Pat. No. 9,216,341B2 and US 2014/0200116 A1 they do not disclose a method to provide instantaneous speed to the display.

The difficulty in providing an in-goggle display for swimming is reflected in the marketplace where as of 2016 Kopin and Intel are making eyewear-attached displays for cycling, running, skiing, but have yet to produce a display module for the swimming market.

Commercially available near-eye display modules are bulky and consume 60 to more than 100 milliwatts. These modules are not optimized to display the metrics most useful to swimming such as speed and splits, but rather are designed to render graphics with high pixel count. Intel makes two near-eye display products for the sports market. These products use Kopin's White Pearl module which has a volume without drive electronics of 2.9 cm³ and consumes 100 milliwatts. Rechargeable batteries add another 1 cm³ for every hour of battery life, so a device based on this display module with a reasonable battery life is too large to be mounted on a swim goggle. Also this module has an eye relief of 22.5 mm and it is 12.5 mm deep, so it projects 35 mm from the eye, which causes too much drag for use while swimming.

A need therefore exists for an improved swimming speedometer capable of providing real time speed information to the swimmer.

SUMMARY

In one aspect of the invention, an apparatus is provided for measuring a swimmer's speed and conveying the speed to the swimmer in real time. The apparatus includes a plurality of ultrasonic beacons each having a transducer configured to emit ultrasonic signals in a pool or other body of water within which the swimmer is swimming. A wearable, waterproof, ultrasonic receiver worn by the swimmer, receives the ultrasonic signals and generates corresponding signal data. The receiver's microcontroller captures and uses the signal data to calculate the swimmer's position and speed in real time, and conveys this information to a wearable, waterproof, user interface device worn by the swimmer, the user interface device including a near-eye display disposed on the swimmer's goggles.

In another aspect of the invention, a method of measuring a swimmer's speed and conveying the speed to the swimmer in real time, includes deploying a plurality of ultrasonic beacons each having an ultrasonic transducer, to emit ultrasonic signals in a body of water within which the swimmer is swimming. The method further includes receiving, with a wearable, waterproof, ultrasonic receiver worn by the swimmer, the ultrasonic signals emitted by the beacons and generating corresponding signal data. The receiver's microcontroller captures and uses the signal data to calculate the swimmer's position and speed in real time, and conveys this information to the user via a wearable, waterproof, user interface worn by the swimmer, using one or more of visual, audible, and tactile output, the user interface device including a near-eye display configured for being disposed on swim goggles worn by the swimmer.

In yet another aspect of the invention, a method of producing an apparatus for measuring a swimmer's speed and conveying the speed to the swimmer in real time, includes configuring a plurality of ultrasonic beacons each having an ultrasonic transducer, to emit ultrasonic signals in a body of water within which the swimmer is swimming. The method further includes configuring a wearable, waterproof, ultrasonic receiver for being worn by the swimmer, to receive the ultrasonic signals emitted by the beacons, and to generate corresponding signal data. The receiver's microcontroller is configured to capture and use the signal data to calculate the swimmer's position and speed in real time. A wearable, waterproof, user interface device is configured for being worn by the swimmer, and to convey the swimmer's speed to the swimmer in real time, using one or more of visual, audible, and tactile output, wherein the user interface device includes a near-eye display configured for being disposed on swim goggles worn by the swimmer.

The features and advantages described herein are not all-inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and not to limit the scope of the inventive subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:

FIG. 1 is a perspective view of a beacon component of an embodiment of the invention, with interior portions shown in phantom, installed in a corner of a swimming pool;

FIG. 2 is a perspective view of a pool with beacons installed and a swimmer using the embodiment of FIG. 1;

FIG. 3 is a schematic view of a swimmer wearing a receiver and display unit of an embodiment of the present invention;

FIG. 4 is a flowchart of a beacon calibration process in accordance with embodiments of the present invention;

FIG. 5 is a flowchart of a receiver initialization and calibration process in accordance with embodiments of the present invention;

FIG. 6 is a perspective view of a display unit of the invention mounted to goggles;

FIG. 7 is a front elevation view of the display unit of FIG. 6 mounted to goggles;

FIG. 8 is a bottom view of the display unit of FIGS. 6-7 mounted to goggles;

FIG. 9 is a perspective view looking through the goggles of the display unit of FIGS. 6-8 mounted to goggles;

FIG. 10 is a side elevational view of the display unit of FIGS. 6-9 with internal components shown in phantom;

FIG. 11 is a cross-sectional view taken along 11-11 of FIG. 10;

FIG. 12 is an elevation view, with internal components shown in phantom, of optical components of the display unit of FIGS. 6-11;

FIG. 13 is a graph showing the attenuation of sound in water;

FIG. 14 is a cross-sectional view of the eye-box aligned with the eye pupil;

FIG. 15 is a cross-sectional view of the eye-box partially misaligned with the eye pupil;

FIG. 16 is a cross-sectional view of the eye-box completely misaligned with the eye pupil;

FIG. 17 is a perspective view of a display unit with adhesive disposed on the viewing window;

FIG. 18 is a bottom elevation view of a display unit with release liner;

FIG. 19 is a front elevation view of a swimmer positioning a display unit of an embodiment of the present invention;

FIG. 20 is a perspective view of a display unit and alignment fixture;

FIG. 21 is a perspective view of a display unit—alignment fixture assembly with detent engaged;

FIG. 22 is a bottom elevation view of a display unit—alignment fixture assembly positioned of the goggle face prior to alignment;

FIG. 23 is a front elevation view of a swimmer positioning a display unit—alignment fixture assembly of an embodiment of the present invention;

FIG. 24 is a bottom elevation view of a display unit—alignment fixture assembly with alignment fixture adhered to goggle face;

FIG. 25 is a cross-sectional view of the eye-box with the eye foveating the bottom edge of the display;

FIG. 26 is a perspective view of the display unit mounted on the goggle in the swimmer's left nasal visual field;

FIG. 27 is a top view of the display unit mounted on the goggle with the lens shown in phantom;

FIG. 28 is a top view of the display unit mounted on the goggle with various gaze directions shown;

FIG. 29 is a detail view of FIG. 28 showing the position of the display unit; and

FIG. 30 is a bottom view of the display unit attached to the goggle in an alternative embodiment.

DETAILED DESCRIPTION

In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized. It is also to be understood that structural, procedural and system changes may be made without departing from the spirit and scope of the present invention. In addition, well-known structures, circuits and techniques have not been shown in detail in order not to obscure the understanding of this description. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.

As used in the specification and in the appended claims, the singular forms “a”, “an”, and “the” include plural referents unless the context clearly indicates otherwise. For example, reference to “an analyzer” includes a plurality of such analyzers. In another example, reference to “an analysis” includes a plurality of such analyses.

Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation. All terms, including technical and scientific terms, as used herein, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs unless a term has been otherwise defined. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning as commonly understood by a person having ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure. Such commonly used terms will not be interpreted in an idealized or overly formal sense unless the disclosure herein expressly so defines otherwise.

General Overview

Embodiments of the invention overcome disadvantages in the prior art identified in the Background. Specifically, it provides immediate, precise instantaneous speed and timing information to the swimmer using a system that is easily scalable to multiple simultaneous users.

Embodiments of the invention include multiple ultrasonic beacons immersed in the pool at fixed, known locations and a receiver and display worn by each swimmer in the pool. As will be discussed in greater detail hereinbelow, these embodiments operate in a manner generally analogous to the Global Positioning System (GPS), e.g., using trilateration, but do so using ultrasonic, rather than radio frequency emissions. These embodiments also address various difficulties associated with the use of ultrasonic, rather than radio frequency, signals.

Each beacon emits uniquely identifiable ultrasonic pulses at predetermined times. The receiver worn by swimmers in the pool detects these pulses and records the time of detection. The receiver then calculates its position and velocity based on the time of pulse detection, the known position of the beacons, and the Doppler shift of the pulse frequency. In these embodiments, the beacons are analogous to the GPS satellite constellation and the receiver is analogous a GPS receiver. The ultrasonic pulses are analogous to the radio transmissions from the satellites to the GPS receivers. These embodiments can support a substantially unlimited number of users, since each receiver is passive and does not interfere with the operation of other receivers.

This beacon-receiver combination addresses the problem of scalability of instantaneous speed measurement. It also addresses the problem of economic feasibility as discussed hereinabove with respect to U.S. Pat. No. 9,216,341. Unlike such inertial systems, which would require each swimmer to wear a relatively expensive (e.g., $1,000) inertial measurement unit to receive reasonably precise speed information, these embodiments simply require a small number (e.g., four) of beacons per pool, each with a relatively inexpensive (e.g., $100) transducer and an inexpensive (e.g., $15) ultrasonic receiver worn by each swimmer. So, as the number of swimmers increases, the per-user transducer plus receiver cost is less than 1/50^(th) the per swimmer cost of inertial sensors at today's prices.

Notably, these embodiments also provide immediate, i.e., real time, feedback to the swimmer, a functionality lacking in the other approaches discussed hereinabove. The beacon-receiver combination allows the receiver carried by the swimmer to calculate the instantaneous speed.

A component of these embodiments, the display unit, receives the calculated speed from the receiver either through a wired or wireless connection and presents this information to the swimmer as text. The display is attached to or integrated into the swim goggle, and thus is visible to the swimmer without their having to interrupt their swimming motion.

Unlike patents in the field of swimming that mention in-goggle displays (U.S. Pat. Nos. 6,870,466B2, 9,216,341B2, 4,776,045A, 5,585,871A, 5,685,722A) but present either no details of their implementation or an implementation that is not practical for swimming, embodiments of this invention disclose a goggle mounted display unit that is practical for swimming. In particular embodiments, the instant display, including battery and drive electronics, has a volume of less than 3 cm³ and can be mounted very close to the eye on the surface of the goggle so it is streamlined for swimming. By using a novel, low pixel count passive matrix display that is optimized for displaying text such as speed and splits, in particular embodiments, the display system of the present invention consumes less than 300 microwatts of power.

Terminology

For the purposes of the present specification, the term “computer” is meant to encompass a workstation, personal computer, personal digital assistant (PDA), wireless telephone, or any other suitable computing device including a processor, a computer readable medium upon which computer readable program code (including instructions and/or data) may be disposed, and a user interface. The term “microcontroller” is used in its conventional sense, to refer to a small computer (SoC) on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. The term “real-time” refers to sensing and responding to external events nearly simultaneously (e.g., within milliseconds or microseconds) with their occurrence, or without intentional delay, given the processing limitations of the system and the time required to accurately respond to the inputs. Terms such as “component,” “module”, and the like are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, or software in execution. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers or control devices.

Programming Languages

The system and method embodying the present invention can be programmed in any suitable language and technology, such as, but not limited to: Assembly Languages, C, C++; Visual Basic; Java; VBScript; Jscript; Node.js; BCMAscript; DHTM1; XML and CGI. Alternative versions may be developed using other programming languages including, Hypertext Markup Language (HTML), Active ServerPages (ASP) and Javascript. Any suitable database technology can be employed, such as, but not limited to, Microsoft SQL Server or IBM AS 400.

Referring now to the Figures, embodiments of the present invention will be more thoroughly described.

System Components

Embodiments of the invention have three primary components. The first component is a set of multiple beacons that provide navigational signals usable by any swimmers in the pool in accordance with the teachings hereof. This component is therefore a resource shared by all such swimmers. The second component is a receiver that each swimmer wears. This receiver decodes the navigational signals from the beacons and calculates the swimmers position and speed. The third component is a display unit worn by the swimmer that conveys this speed and position in real time to the swimmer. Aspects of these three components are listed and described below.

As shown in FIGS. 1-3, multiple beacons 108 are partially immersed in the swimming pool at fixed locations, a receiver that detects navigational signals transmitted by the beacons and is worn on the head 302, the wrist 303, or any portion of the body of the swimmer 203 that is immersed in water during each swim stroke, and a display unit 301 worn by the swimmer analyzes the navigational signals transmitted by the beacons 108 and presents them to the swimmer in a meaningful way.

In particular embodiments, the beacons each include a radio 102 in a waterproof housing, with antenna 101, and an ultrasonic piezoelectric transducer 104 with associated drive circuitry and an optional pressure sensor, communicably coupled to the radio 102 via an adjustable length conduit 103. Embodiments of radio 102 include within its housing, a microcontroller 120, a clock 122, a power source such as battery 124, a salinity sensor 126, and a temperature sensor 128, as shown in phantom.

Embodiments of the receiver 302, 303 worn by the swimmer include an ultrasonic piezoelectric receiver, a microcontroller, a battery, a radio, and a capacitive sensor and/or accelerometer or other means for automatically waking the receiver from a sleep state. In some embodiments, the receiver 302, 303 is disposed remotely from the display unit 301, such as shown in FIG. 3. However, in other embodiments, such as shown and described with respect to FIGS. 6-12, the receiver is disposed integrally with the display unit 301 located on the goggles worn by the swimmer. As best shown in FIG. 10, a receiver of this integrated embodiment includes a microcontroller 1010, an optical display 1103 (FIG. 12), a battery 1001, a radio 1012, and sensors that may include the accelerometer 1014, a pressure sensor 1016, a capacitive sensor 1018, and piezoelectric receiver 1020. It should be noted that the inclusion of a pressure transducer in the receiver is not required for typical swim training (surface swimming) applications. However, use of a pressure sensor in the receiver may be desirable for use in diving applications, to provide vertical positioning precision. The inventor has recognized that since conventional swimming pools are much longer and wider than they are deep, the inclination (i.e., angle relative to the horizontal) of a line connecting any transducer to the receiver is small. This creates a relatively large vertical dilution of precision (VDOP). In typical swim training the swimmer is near the surface of the water and only their horizontal position and speed are of interest, so poor vertical precision is not a significant concern. If, however, vertical position is important as it might be for a diver, then a pressure transducer would be useful to help mitigate the aforementioned VDOP.

Operation

1. Placement of the Beacons

Before the display unit can provide instantaneous speed information to the swimmer, the beacons must be placed in the pool and synchronized/calibrated. The beacons 108 would typically be placed in the four corners of the pool as indicated in FIGS. 1 & 2. Additional beacons may be placed to provide additional signals, e.g., to provide redundancy and/or improved accuracy. As shown in FIG. 1, the top of each beacon protrudes above the surface of the water and supports an antenna 101 for the radio. The piezoelectric transducer 104 is located near the bottom of the pool 106 and is positioned by adjusting the length of conduit 103 connecting it to the radio 102. An optimum depth for the piezoelectric transducer 104 is the greatest depth that gives the transducer a line-of-sight to all points on the surface of the pool. This placement of the piezoelectric transducer helps to minimize multipath interference and provide an unobstructed path between the transducer 104 and the receiver 302, 303 worn by the swimmer. This placement also helps minimize the position dilution of precision.

2. Self-Calibration/Synchronization of the Beacons

The calibration process is outlined in FIG. 4. After the beacons are placed in the pool at 401, they then begin calibrating themselves. The beacons establish a conventional star network using their radios 402. This may be achieved using Wi-Fi, Bluetooth LE, or other protocol that allows reliable communication over an approximately 60 meter range. The beacons use this network to synchronize their clocks. One of the beacons is designated to serve as the hub of the network and its clock is designated as the master clock 403. The hub beacon then broadcasts a clock-reset signal that instructs all other beacons to reset their clocks to a specific time. This synchronization 404 does not need to be extremely precise since the speed of sound in water is 1500 m/s. To achieve one centimeter positioning precision requires the clock of each beacon to be synchronized within 6.66 microseconds. Clock synchronization does not require compensation for the distance between beacons since radio propagation delay will be less than 167 nanoseconds for beacons less than 56 meters apart, the diagonal distance between corners of a 50 meter by 25 meter pool. A method used by the beacons to calculate their position is described in the following paragraph. Since the radio propagation delay between beacons is not significant, the beacons can calculate their relative position to sufficient precision without external assistance.

Once the clocks are synchronized 404, the beacons may negotiate by radio, time slots for each beacon to transmit ultrasonic signals 405. The beacons will transmit their ultrasonic signals at mutually distinct frequencies and/or using any number of conventional modulation schemes that allow their transmissions to be distinguished from those of the other beacons. Each beacon will capture the arrival of ultrasonic signals transmitted by other beacons using its transducer 104. Each beacon will then use its microcontroller 120 and clock 122, to record the time of arrival of those ultrasonic signals and compare those times of arrival to the negotiated transmission time to calculate the ultrasonic signal propagation time 406 through the water. In particular embodiments, the microcontroller 120 of each beacon will also capture and record the depth of its transducer, its local temperature, and local salinity 407 and share by radio the measured ultrasonic signal propagation times, depth, temperature, and salinity with the other beacons 408. In particular embodiments, the transducer depth is determined by a pressure sensor that is co-located with, or located at a predetermined depth relative to, the piezoelectric transducer 104.

The beacons then convert the ultrasonic signal propagation times to distance using the measured temperature, salinity, depth, and the following formula (Medwin H, 1975 Speed of sound in water: A simple equation for realistic parameters Journal of the Acoustical Society of America, 58, 1318-1319, 1975):

$\frac{D}{t} = {c = {1449.2 + {4.6\; T} - {5.5 \times 10^{- 2}T^{2}} + {2.9 \times 10^{- 4}T^{3}} + {\left( {1.34 - {10^{- 2}T}} \right)\left( {S - 35} \right)} + {1.6 \times 10^{- 2}}}}$

-   -   Where     -   t is propagation time in seconds     -   D is distance in meters     -   c is the speed of sound in m/s     -   T is temperature in ° C.     -   S is salinity in ppt     -   z is depth in meters.

The distances between transducers 104, along with the depths provided by their associated pressure transducers, fully determine the position of the transducers. For each transducer pair a,b the relation between their location coordinates (x,y,z) and distance D is determined by the following formula. D _(a,b)=√{square root over ((x _(a) −x _(b))²+(y _(a) −y _(b))²+(z _(a) −z _(b))²)}

This provides six equations. There are 12 coordinates necessary to determine the location of all the transducers. The horizontal coordinates x, y of one transducer can be set to zero, since only relative position is important, and the depths, z, of each transducer are determined by its associated pressure transducer. This leaves six unknown coordinates and six equations, so the (x,y,z) position of each beacon can be determined 409. Each beacon transmits by radio every beacons' position, temperature, and salinity using its radio 410. Additionally, as mentioned above, each beacon transmits by radio the predetermined schedule by which it will transmit its ultrasonic navigational signals, as negotiated at 405.

The beacons may now re-synchronize their clocks 411 and begin to transmit ultrasonic navigational signals that allow receivers worn by swimmers in the pool to determine their position and speed 412.

As mentioned, each beacon stores its (x,y,z) position information and in particular embodiments, is configured to periodically recalculate its position to ensure the validity of the position information. To facilitate these calculations, and to maintain the accuracy of the swimmer's speed measurements as discussed hereinbelow, the beacons will periodically re-synchronize their clocks 411, e.g., on the order of once per second if they use a precision, low cost clock such as the Maxim DS32 kHz TXCO (Temperature Compensated Crystal Oscillator) available from Maxim Integrated (San Jose, Calif.) which has a frequency stability of ±2 ppm. This information will be broadcast by the beacons' radios and encoded in the ultrasonic navigational signals transmitted by the beacons.

The beacons would normally be permanently fixed in the pool and have long-lived, hot-swappable batteries. Thus, the beacons would normally be synchronized, calibrated, and transmitting navigational signals continuously during operation after their initial installation. It should be recognized, however, that the beacons may be portable and removably installed, e.g., for temporary use in various pools or other swimming venues. In this regard, although embodiments of the present invention are shown and described as being used in swimming pools, other suitable swimming venues include outdoor locations such as freshwater ponds/lakes and larger salt water venues. Where embodiments of the present invention are used outdoors, the radio 102 may include a GPS receiver. The beacons' clocks may be synchronized and horizontal positions may be determined using GPS receivers alone or using GPS receivers to assist the above-described self-calibration and synchronization method.

3. Receiver Operation

Turning now to FIG. 5, the receiver 302, 303 (FIG. 3) initializes itself at the start of each swim. In particular embodiments, when the receiver's accelerometer detects a tap from the swimmer 501, indicating their intention to begin using the system, or alternatively, the receiver's capacitive sensor detects contact with water, the receiver will transition from a hibernation state to a ready state and turn on its radio 502 and scan for the beacon network 503. If the receiver successfully connects to the beacon network 504, it will receive the above-described beacon positioning data, temperature, salinity, and clock data 505 and then turn off its radio 507, e.g., to conserve power, while the receiver remains in its ready state. If the receiver fails to make a radio connection with the beacon network 506 after a predetermined period, it will turn off its radio, while the receiver remains in its ready state. It should be noted that while it is convenient, and in some applications, desirable to obtain the beacons' positioning, temperature, salinity, and clock data via the beacon's radio network, as discussed hereinabove, in particular embodiments this data is also encoded into the beacons' ultrasonic navigational signals. Therefore, if the radio connection was unsuccessful, the receiver will be able to acquire this data from the ultrasonic navigational signals once it is in the water.

In particular embodiments, as mentioned above, the ultrasonic signal data captured by the receiver includes time of arrival of the ultrasonic signals as well as location information for the beacon originating each of the ultrasonic signals. The receiver's microcontroller is configured to use the signal data and time of origin information for the ultrasonic signals to determine distance between the swimmer and each of the beacons in real time, using the formula: D=ct

-   -   where     -   t is propagation time in seconds     -   D is distance in meters     -   c is the speed of sound in m/s

The speed of sound is determined by the beacons as described above and encoded in the beacons' navigation signals. The microcontroller may then use the distance between the receiver and each of the beacons to determine the location of the receiver (xa,ya,za) using the formula D _(a,b)=√{square root over ((x _(a) −x _(b))²+(y _(a) −y _(b))²+(z _(a) −z _(b))².)} where Da,b is the distance between each the receiver (a) and each beacon (b), and (xb,yb,zb) is the location of beacon (b).

When the receiver determines that it is in the water 508 using its capacitive sensor and/or accelerometer as discussed hereinabove, it will turn on its piezoelectric detector. Alternatively, rather than this automatic activation, the receiver may be configured to be turned on manually, e.g., with a waterproof switch. When the receiver is first in the water it does not know its location relative to the beacons. It must power its receiver circuitry and listen continuously 509 for navigational signals transmitted by the beacons. To minimize power consumption, in particular embodiments, once the receiver has detected a signal from all beacons 510, it may calculate a the time window within which the next signal is anticipated to arrive 511 and turn off its piezoelectric sensor and receiver circuitry 512 until that time window opens. The receiver calculates the the time window's length, which is determined by the uncertainty in the velocity of the swimmer.

Initially the receiver does not know the velocity of the swimmer, but this velocity will always be less than 5 m/s, so the uncertainty in time of arrival will be

$t_{uncertainty} = {\pm \;{\frac{5 \times t_{interval}}{c}.}}$

t_(interval) will be less than 100 ms, in order to provide accurate, per-stroke speed information to the swimmer. Thus t_(uncertainty)=±330 μs. This will be the listening window once all the beacon navigational signals are detected, but before the receiver has any knowledge of its velocity.

Once the receiver has received more than two consecutive signals from each beacon it can calculate its radial velocity relative to each beacon based on the change in t_(interval) between successive signals for each beacon. The receiver may also calculate its radial velocity based of the Doppler frequency shift of the beacon signals.

The radial velocities at time t_(n) can be used to better the estimate the time of signal arrival at time t_(n+1)=t_(n)+t_(Interval) 514. The uncertainty in this estimate is

$t_{uncertainty} = {{t_{interval} \times v_{uncertainty}} + {\frac{1}{2\; c}{at}_{interval}^{2}}}$

-   -   where v_(uncertainty) is the uncertainty in the measured         velocity, α is the maximum possible acceleration. Based on         collected data, α is less than 20 m/s² and v_(uncertainty)         should be less than 1% of velocity, or 0.02 m/s. During normal         operation t_(uncertainty)=±68 μs. This will be the listening         window during normal operation.

In order to reduce the measured time of arrival of the navigational signals to accurate position and speed, the receiver must know the position of the beacons and be able to calculate the speed sound in the pool. As discussed hereinabove, this information is either acquired from the beacon radio network or from the data encoded in the navigational signals.

Whenever the swimmer leaves the pool and re-enters, 509 through 514 of the acquisition process may be repeated. In this regard, the receiver may power down its ultrasonic receiver after a predetermined period of failure to detect ultrasonic signals, which may be interpreted as the receiver being no longer submerged. Particular embodiments may allow for periods of time in which the swimmer is resting between swims in a position where the receiver is not submerged, by increasing the listening window as a function of the time not submerged in order to facilitate reacquisition of the beacon signals when the receiver is re-submerged.

Once the receiver has acquired the beacon signals and has calculated its speed based on the time of arrival of the beacon signals or Doppler frequency shift of the signals, the receiver will relay this speed to the display unit 301. This information can be relayed by ultrasonic signals like those used for navigation when both the display and receiver are immersed, or by radio if the receiver and display are in close proximity such as when the receiver is worn on the head 302. In particular embodiments, the display unit 301 uses its accelerometer to update the speed presented to the swimmer at regular intervals, normally once per stroke.

Ultrasonic Signals

As mentioned hereinabove, in particular embodiments, the ultrasonic navigational signals are modulated with beacon positioning data, temperature, salinity, and clock data so that the receiver can calculate its position and speed without other external information. The navigational signals transmitted from the beacons to the receiver are generated and detected by conventional piezoelectric transducers, which those skilled in the art will recognize convert electrical signals to mechanical vibrations and mechanical vibrations to electrical signals. The electrical signals produced by the transducers are substantially identical to those generated by the antenna in radio communications. A simple method to detect and demodulate the electrical signal produced by the receiver's piezoelectric transducer is to use a frequency modulation intermediate frequency integrated circuit such as New Japan Radio Co.'s NJM2294 to detect and decode a frequency shift keying (FSK) signal. The baseband frequency of the ultrasonic signal is within the IF range of the NJM2294 and can be directly demodulated by the NJM2294. One skilled in the art of radio design will understand that many other modulation and demodulation techniques and circuitry can be applied to the electrical input and output of the piezoelectric transducer.

Regardless of the electronic modulation and detection methods, the resultant ultrasonic signals must travel from the beacon to the receiver and be detectable at the receiver. The present inventor has recognized that conventional swimming pools create a highly reflective acoustic environment, which presents some challenges for embodiments of the invention. For example, the air-water interface is nearly perfectly acoustically reflective and the walls of the pool, usually made of a cementitious material, are highly reflective. The acoustic impedance of water is 1.5×10⁶ rayls while that of concrete is typically 7−10×10⁶ rayls. (See, e.g., Nawy, Edward G. Concrete Construction Engineering Handbook, § 21-32, CRC Press, Jun. 24, 2008.) This impedance mismatch and the greater speed of sound in concrete indicates a reflection coefficient of 0.68 to 1, depending on the angle of incidence, at the water-concrete interface. Any signals introduced into the pool will reverberate and could be mistakenly detected at the receiver as the direct-path signal. To mitigate the effect of these reflections, embodiments of the invention may employ three strategies are employed. the beacon signals are very brief, preferably less than 100 μs.the time interval between beacon signals is as long as possible while still providing non-aliased speed measurements for the swimmer. This time interval is preferably 100 ms. These two strategies minimize the total acoustic energy in the pool and hence the noise at the transmission frequencies in the pool. A still further strategy is to choose the frequencies of the beacon signals so that they substantially attenuate during the time interval between beacon signals.

FIG. 13 shows the relation between frequency and attenuation rate for sound in water. A desirable frequency for ultrasonic navigational signals is between 800 kHz and 2.0 MHz, to help prevent interference from the navigational signal transmitted during the previous time interval. This choice of frequency is intended to address potential interference from previous signals at the receiver when the receiver is most distant from a beacon. When a receiver is near a beacon, the intensity of the direct navigational signal is much greater than that of any reflection of the previous time interval's signal because of the large ratio of spherical spreading, which tends to minimize interference. However, when the receiver is most distant from the beacon, e.g., 56 meters in a 25 meter by 50 meter pool, the ratio of the intensity of the current signal to that of the previous time interval's signal could be as little as

${{- 20}\;\log\;\frac{56\mspace{14mu} m}{150\mspace{14mu} m}} = {8.55\mspace{14mu}{dB}}$ for signals transmitted at less than 400 kHz. The inventor has recognized that by using a frequency between 800 kHz and 2.0 MHz, an additional 8 to 50 dB of attenuation of the previous interval's signal can be achieved.

The inventor has also recognized that if even higher frequencies are chosen, the navigational signals will not have sufficient intensity when they arrive at the receiver. In particular embodiments, the intensity of the beacon navigational signal is limited to about 5 W/m² at the transducer by cavitation and the practical size of the transducer is limited to about 3 cm². This limits the navigational signal intensity to 192 dB relative to 1 μPa at 1 meter from the beacon and 157 dB at 56 meters assuming no frequency dependent attenuation. At 2.0 MHz there is 17 dB of frequency dependent attenuation, and the intensity at the distant receiver is at most 140 dB. At 3 MHz there would be 38 dB of frequency dependent attenuation.

A typical receiver will have acoustic performance similar to the Teledyne RESON T4038 hydrophone. The inherent noise density of this transducer is 80 dB per √{square root over (Hz)} so the noise in a 50 kHz band would be 126 dB, giving a signal to noise ratio of 14 dB for a 2.0 MHz signal transmitted at maximum intensity. For the same signal to noise ratio, a 3 MHz signal may only have a bandwidth of 0.3 kHz. The maximum bit rate is approximately twice the bandwidth, so a 3 MHz signal would have difficulty transmitting the beacon positioning data, temperature, salinity, and clock data in a 100 μs window.

Another advantage of transmitting the navigational signals at a frequency greater than 800 kHz is the wavelength of these signals, less than 1.9 millimeters, is small compared to the scale of roughness of most pool surfaces. This means there will be limited specular reflection from the pool walls and bottom and reduced multipath interference at these frequencies versus lower frequencies.

As mentioned above, the inventor has also recognized that the navigational signal from each beacon must be uniquely identifiable. This may be achieved in many ways. One method is to assign a unique frequency to each beacon. Another method is to modulate each beacon signal with a unique code. One skilled in the art of radio communication would be familiar with these and many other multiple access channel sharing methods.

As described in the beacon synchronization and calibration process, each beacon calculates and stores the position of all beacons upon power up and periodically recalculates their positions and remeasures the temperature and salinity to calculate the speed of sound in the pool. This position and sound speed information maintained by the beacons is transmitted to the receiver worn by the swimmer so that the receiver can calculate its position using substantially the same method that the beacons used to calculate their positions during calibration. This information is transmitted from the beacon to the receiver by modulating the ultrasonic navigational signal using FSK (frequency-shift keying) or other modulation scheme known to those skilled in the art of radio communication.

In representative embodiments, the receiver must receive 161 bits of information from the beacons to calculate its position with no loss of accuracy due to quantization error. These bits may be allocated as follows.

Sixteen (16) bits are used for each component of the horizontal position of three of the four beacon transducers. The horizontal components of the location of one of the beacons can be assumed to be zero. Thirteen (13) bits are used for the vertical component of the position of all four beacon transducers.

This allocation of bits allows a horizontal position of 0 to 65.5 meters and a vertical position of 0 to 8.2 meters to be specified to one millimeter precision. This spans a volume that is larger than almost all swimming pools. Millimeter precision is sufficient to preserve accuracy since the temperature dependence in the speed of sound will introduce errors greater than 10 millimeters over a 50 meter distance. Thirteen (13) bits are used to encode the speed of sound. This is sufficient precision since temperature inhomogeneities on the order of 0.1° C. will introduce errors on the order of 1 part in 4500. Four (4) bits of the 161 bits are transmitted by each of 4 beacons at 100 ms intervals using a 100 μs long transmission. This allows the entire 161 bits to be transmitted in one second, at a bit rate that is easily supported by the previously described 2 MHz navigational signals.

Display System

3. Display of Speed

As also mentioned above, embodiments of the invention use an in-goggle display system 301 (FIGS. 3, 6-8). This allows the instantaneous speed data determined by the receiver to be presented to the swimmer in real time so that this data can be best used to improve the swimmer's performance. Unlike other potential in-goggle display approaches for providing swimming feedback, the instant embodiments provide a practical implementation.

Turning now to FIG. 12., an optical display module 1103 contained in the display unit 301 is shown. In the exemplary embodiment shown, the components of the optical display module 1103 include an LED 1202, model CREE XQEGRN-H2-0000-000000B01, with a 980 μm X 980 μm die, a passive STN LCD 1201 composed of a liquid crystal material sandwiched between two layers of 0.3 mm thick glass patterned with indium tin oxide (ITO) row and column electrodes on a 10 μm pitch, and a lens 901, Largan model 9498, with an effective focal length (EFL) of 4.2 mm. The LCD's construction is that of a conventional passive STN display except its electrode pitch is much smaller than that of a conventional display.

This LCD 1201 is driven by an EM Microelectronic EM6127 controller 1203. The active area of the LCD where the image is generated is 1010 μm X 320 μm (101×32 pixels). The size of the active area of the display is important because the ratio of the width of the active area to the EFL determines the field of view (FOV) of the display, specifically FOV=2×tan⁻¹ (width of active area/(2×EFL)). The FOV should be less than 15 degrees so text can be read without scanning across the display image. It is desirable to have the EFL be as short as possible to make the display as thin as possible. Lenses are available with very short EFL's, so it is the width of the active area that determines the overall thickness of the optical display module 1103.

The image generated by the LCD 1201 is viewed by the swimmer through the 4.2 mm EFL lens 901. The field of view (FOV) in this representative embodiment is 13.3° horizontal and 4.3° vertical. It should be recognized, however, by those skilled in the art, that the FOV may be adjusted based on any number of factors such as the size and shape of the particular goggles with which module 1103 is used, as well as particular users' preference. Also, in this representative embodiment, the Largan 9498 lens 901 has an f-number of 2.8 so the exit pupil is only 1.5 mm in diameter and is located near the plane of the viewing window 1102 of the display unit. This exit pupil location allows the display unit to be placed directly on the face of the swim goggle. For example, FIG. 6 shows a pair of swim goggles 703 with display unit 301, which includes display module 1103, mounted directly to the goggle face 701.

Referring now to FIGS. 6-11, in particular embodiments, the display unit 301 is attached with a removable adhesive to the goggle face so that its viewing window 1102 is flush against the goggle face 701. Using a removable adhesive allows the display unit to be placed on new set of goggles when original set is worn out. This attachment method also allows the swimmer to position the display in front of their preferred eye and in the precise location that makes the image generated by the LCD comfortably viewable. This is particularly desirable in many applications because the compact lens 901 used in the optical display module 1103 has a small exit pupil which needs to be aligned with the swimmer's pupil to make the image generated by the LCD visible. Since even the same model of goggle will fit in a different position on different swimmers, it is desirable that the position of the display unit be customizable. FIG. 9 shows the display unit 301 viewed through the goggle.

The swimmer will typically wear the goggle while attaching the display unit to the goggle face. The swimmer can see the image generated by the LCD in the lens 901 while they are attaching the display unit to the goggle face. This allows the swimmer to easily position the display unit with no tools or measurements. Moreover, the small size of the display unit allows it to be positioned substantially anywhere on the face of the goggle. It has also been found that it may be advantageous to place the display unit in the nasal visual field as shown in FIG. 9. The display unit is less visually obtrusive to the swimmer in this location, and its proximity to the swimmer's nose and the nosepiece of the goggle helps minimize the hydrodynamic drag of the display unit. This ability to be placed in the nasal visual field contrasts with approaches that use temple mounted batteries and drive electronics that effectively force the displays to be placed in the temporal visual field where they tend to have more drag and are more obtrusive.

An aspect of the invention is the particular selection and arrangement of elements to provide for relatively low power consumption, since the inventor has recognized that low power consumption enables the use of a relatively small battery, which corresponds to the overall size of the display unit. In this representative embodiment, the EM6127 controller draws only 20 μA and the LED can produce 100 nits per μA, and is larger than the active area of the LCD. The LCD can be expected to transmit at least 25% of the incident light so an 80 μA backlight current will produce a luminance of 2000 cd/m2. The f-number of the Largan lens is less than that of the human pupil, and the exit pupil of the display will be smaller than the human pupil, so the apparent luminance of the display will be greater than 2000 cd/m2.

In total, the LED backlight and EM6127 driver consume 100 μA, two orders of magnitude less current than consumed by near-eye displays currently available for sport applications. FIG. 10 shows the display unit 301 with optical display module 1103 and a 50 mAh Varta CP 1254 rechargeable battery 1001 that can power the optical display module for 500 hours. These components fit within the 2.8 cm³ volume defined by the waterproof case 1101 of the display unit 301 and viewing window 1102 shown in FIG. 11, with space remaining for the microcontroller 1010 to drive the display 1103 (FIG. 12), the radio 1012, and sensors 1014, 1016, 1018, and the piezoelectric receiver 1020.

Since most swimming goggles do not correct for visual refractive errors, the display unit may also include a means to adjust the focus. This could be achieved by moving the LCD relative to the lens or more easily achieved by attaching a small corrective lens on the inside of the goggle opposite the optical display module lens 901. This method has the advantage of requiring no moving parts or seals in the display unit. This corrective lens could be similar to those disclosed in patent U.S. Pat. No. 6,170,952B1, but used for the novel purpose of providing focal adjustment for a sealed optical device.

It should be recognized that the speed of sound in water is relatively weakly dependent on temperature and salinity and that these conditions do not vary greatly from pool to pool. For this reason, although embodiments shown and described hereinabove include temperature and salinity sensors, such sensors may be omitted without departing from the scope of the invention. Indeed, temperature and salinity conditions don't vary rapidly with time, so the skilled artisan will recognize that the instantaneous feedback provided by these embodiments, of essentially “this stroke was better/faster than the last” does not depend on measurement of these conditions.

Similarly, embodiments of the present invention do not necessarily need the aforementioned pressure sensors, since they are provided in the beacons 108 merely as a convenient means for determining the vertical position of the ultrasonic transducers 104 in each of the beacons 108. Embodiments of the invention may therefore omit pressure sensors from the beacons 108, and instead place their transducers at predetermined depths, or rely on tape measures or similar measurement approaches to determine the extension of conduits 103, without departing from the scope of the present invention. As also mentioned hereinabove, pressure transducers are not needed in the receiver when used in swim training (surface swimming) applications.

The inventor has recognized that a particular goggle model will fit on the eye socket of a particular swimmer with sub-millimeter positional reproducibility. The inventor has leveraged this by miniaturizing the display unit 301 and adhering the display unit directly to the goggle face to eliminate the need for an alignment adjustment mechanism as required for conventional near-eye displays.

For example, near-eye display systems using conventional refractive/reflective optics that are attached to eyeglasses, helmets, or other head-mounted devices require mechanisms that allow the user to adjust the position and orientation of the display (U.S. Pat. No. 7,048,370B2, US20150035744A1, U.S. Pat. No. 6,023,372A). Alignment adjustment mechanisms are required because it is impractical to produce a display with an eye-box, i.e., the volume of space where the entire display is visible without vignetting, that is large enough to accommodate the anthropometric variation in the user population plus the variability in fit of the eyeglasses or other head-mounted devices each time they are donned. Attempts have been made to increase the size of the eye-box without increasing the size of the optics using holographic or diffractive optics but these approaches have proved costly relative to conventional optics (Kress, B 2013, Diffractive and Holographic Optics as Optical Combiners in Head Mounted Displays, UbiComp'13). The present inventor has recognized that the reproducible fit of the swim goggle allows the use of a onetime positionable mechanism to attach the display unit to the goggle face, and miniaturization of the display unit optics.

Eye-box Relation to Optical System

The instant inventor has recognized that with a conventional refractive/reflective near-eye display system, the eye-box cannot be enlarged enough to accommodate all variations in goggle type and user's face, etc., because the dimensions of the imaging optics scale with the dimensions of the eye-box. In non-pupil forming optical systems, which are more compact than pupil forming systems and thus appropriate for this application, the eye-box is a conical volume 1401, shown in cross section in FIG. 14, defined by the intersection of the extreme ray bundles 1402 and 1404 originating at the edges of the display 1405. The extreme ray bundles diverge at an angle, FOV, equal to the angular field of view. At the lens 901, the diameter of the eye-box is equal to the diameter, D₁, of the clear aperture of the lens.

Those skilled in the art should recognize that the term ‘clear aperture’ refers to the region of the lens designed to transmit light to the viewer. A lens is likely to have an outer region whose form deviates from ideal because of manufacturing limitations. Light transmitted through this outer region is detrimental to the quality of the image if it enters the pupil of the eye and is therefore considered not to contribute to the eye-box. Alternatively, this outer region may be used to fixture the lens and may be blocked from light transmission. Also, many asymmetric lenses will have a circular clear aperture even though the overall lens may be rectangular. As such, the term ‘clear aperture’ effectively refers to the portion of the lens transmitting light that is constructive to the formation of a clear image of the display. In addition, while embodiments shown and described herein define the clear aperture in terms of its diameter, the term diameter should be understood to refer to the largest cross-sectional dimension of a non-circular clear aperture, with the cross-sectional dimension being taken in a direction orthogonal to light rays which originate at the center of the display after those rays have exited the last optical surface of the lens. In the case of a typical, axially symmetric lens this direction is that of the optical axis (e.g., axis 1501) of the lens.

The lens 901 may be comprised of one or more discrete optical elements. The lens is shown in the FIGS. 14-17 as a single element for clarity. In embodiments where the lens is comprised of multiple optical elements, the diameter, D₁, refers to the diameter of the clear aperture of the optical element nearest the eye.

The eye-box diameter decreases with increasing distance from the lens. At the user's pupil 1403, the diameter, d, of the eye-box is d=D ₁−2E·tan(FoV/2) where E is the eye relief, the distance from the lens 901 to the pupil 1403. The pupil must remain entirely within the eye-box for the user to see the displayed image without vignetting. If the eye relief, E, is too large or the diameter, D₁, is too small, d will be less than the pupil diameter, D_(p), and the displayed image will be vignetted. However, some degree of vignetting is usually tolerable, especially if the display is only being used to render text.

The alignment between the eye and the lens is likely to be imperfect as shown in FIG. 15. As shown, the optical axis of the lens 1501 is misaligned with the optical axis of the eye 1502. As also shown, the pupil will not lie completely within the eye-box if the misalignment, X, is greater than d−D_(p). However, as long as some portion of the pupil intersects the eye-box, the entire displayed image will be visible, although some regions near the edge of the displayed image will be less bright. It is noted that as shown, the optical axis 1501 of lens 901 coincides with the mechanical or geometric axis of the lens. While such coincidence was used for clarity, those skilled in the art should recognize that lenses, e.g., asymmetric lenses having optical axes that are offset or are otherwise not coincident with their mechanical or geometric axes, may be used without departing from the scope of the present invention.

When the misalignment, X, is greater than D_(p)+d/2 as in FIG. 16, some region of the displayed image will not be visible. With all other dimensions fixed, the same misalignment will cause more vignetting as the clear aperture of the lens is decreased, eventually obscuring some areas of the displayed image. In FIG. 16 the diameter of the clear aperture of the lens, D₂, is smaller than diameter, D₁, in FIG. 15. All other geometry is the same. The eye-box 1401 in FIG. 16 does not intersect the pupil, the extreme ray bundle 1402 does not enter the pupil, and an area of the displayed image will be obscured.

The prior discussion of the eye-box dimensional requirements did not consider pupil movement. The pupil will move as the user shifts their gaze to different areas of the display. In embodiments of the present invention, the eye-box is sufficiently enlarged to accommodate this motion. FIG. 25 illustrates the effect of this movement. In FIG. 25 the eye is rotated so that the bottom edge 1503 of the display 1405 is foveated. This is the position of the eye when the user is reading text at the bottom of the display, for example. In this position the gaze direction 2501 and the optical axis of the eye 1502 are parallel to the ray bundle 1402, which originates from the bottom edge 1503 display.

When the eye rotates to shift the gaze from the center to the bottom of the display, the pupil moves away from ray bundle 1402, the bundle that carries light from the bottom of the display. The human pupil is about 10 mm from the center of the eye so the pupil moves about 10 mm×FOV/2 radians as the eye rotates to shift the gaze from the center to the edge of the display. Thus, in particular embodiments, the eye-box diameter, d, at the pupil needs to be enlarged by 10 mm×FOV radians to accommodate pupil movement as the user's gaze shifts from edge to edge.

Swimming Specific Detailed Dimensional Considerations

The swimmer's pupil size, the display's field of view (FOV), and the eye relief, the distance from the lens 901 to the pupil 1403, all contribute to the minimum required eye-box for various embodiments shown and described herein. In the bright conditions of a typical swimming pool the diameter of the pupil, D_(p), is less than 3 mm. The field of view (FOV) of the display needs to be large enough to display the desired information. A ten degree FOV can accommodate a line of 20 characters displayed at the size of those characters on the 20/100 line of a Snellen eye chart. The inventor has determined that this is ample FOV to display information that would be useful to a swimmer such as splits, distance, speed, and time of day using characters large enough to be read through potentially fogged goggles. The lens 901 should be located with some eye relief, E, to be comfortable and safe for the swimmer. A typical swimming goggle will allow the lens to be placed with an eye relief of 10 mm.

Using the analysis presented hereinabove, the diameter, d, of the eye-box at the pupil should be greater than D_(p)+10 mm×FOV radians, or 4.75 mm when D_(p)=3 mm and FOV=10° for the displayed image to be visible without vignetting. With an eye relief, E=10 mm, the diameter of the clear aperture of the lens, D, required to create this eye-box is given by the equation D=d+2E·tan(FOV/2) or D=6.5 mm.

As mentioned hereinabove, some vignetting is usually tolerable and accepting vignetting of the displayed image allows the lens diameter to be reduced. Referring to FIG. 15 in which the eye-box 1401 intersects only part of the pupil 1403, the displayed image will be vignetted. Specifically the light from the bottom edge of the display 1503 represented by the ray bundle 1402 does not intersect the entire pupil. If the ray bundle 1402 intersects 50% of the pupil's area, the edge of the display 1503 from which the light in the ray bundle originated will be proportionally 50% as bright as an area of the display such as 1504 whose ray bundle 1404 intersects the entire pupil. Since human perception of brightness is roughly logarithmic, a 50% drop in brightness is tolerable. For the aforementioned geometry, a lens with a 4 mm clear aperture will reduce the brightness of the edge of the display to 50% of the brightness of the center of the display. Thus, in various embodiments, lens 901 is provided with a clear aperture within a range of from about 3 mm-8 mm, and in particular embodiments 3.5 mm-6.5 mm, and in more particular embodiments, 4 mm-5 mm.

A display unit with a minimally-sized 4 mm clear aperture lens should be positioned precisely for each user so that the eye-box is centered on their pupil, otherwise the entire display will not be visible. If the display unit were factory mounted to the swimming goggle in a preset position, the display unit's eye-box position relative to the pupil will vary from swimmer to swimmer because of anthropometric variations in pupil location relative to the eye socket and the nose, features which determine the goggle position.

The present inventor has recognized that the magnitude of these variations is characterized by the variation in interpupillary distance (IPD) within the adult population. The vast majority of adults have an IPD between 50 mm and 75 mm with the mean near 63 mm (Dodgson N. Variation and extrema of human interpupillary distance. Proc Int Soc Opt Eng. 2004; 5291: 36-46.) Since in particular embodiments the display unit is monocular, the expected variation in the pupil position from the midline would be around ±6 mm. If this variation were accommodated solely by increasing the lens diameter, lens would need a clear aperture of 16 mm, or four times greater than the minimal 4 mm lens. A display unit with a 16 mm diameter clear aperture lens would also be four times as thick as one with a 4 mm clear aperture lens since the focal length must also increase to preserve the f-number of the optics. A thicker display unit is undesirable in many applications since it would project farther into the water causing more drag. The inventor has thus recognized that to reduce the size of the optical system a method to customize the eye-box alignment must be employed.

A naïve method is to require the swimmer to adjust the position of their goggle to adjust the alignment of the eye-box. While the swimmer may be able to seat their goggle in a particular position to accommodate the display unit's preset location on the goggle, that particular position is unlikely to be their naturally preferred position.

The present inventor has therefore recognized that in many applications it is desirable to allow the swimmer to wear their goggles in their naturally preferred position. Unlike eyeglasses or most other eyewear, swimming goggles fit snuggly in the eye socket. This snug fit is required to prevent water from leaking into the goggle and to resist the hydrodynamic forces that tend to dislocate the goggle especially when diving or turning. If the swimmer must wear their goggle in an unnatural position, even by just a few millimeters, to align the eye-box, the goggle will be more likely to leak and likely to be more uncomfortable. Because the goggle presses on or around the eye socket, swimming goggles tend to be inherently uncomfortable as is evidenced by swimmers' tendency to remove their goggles at almost every break in their swimming sessions. Any alteration of the preferred goggle fit that reduces comfort to achieve eye-box alignment is not likely to be well tolerated.

A common method to adjust eye-box alignment in a near-eye display system is to mount the optics on an adjustable arm. However, for swimming, because hydrodynamic forces should be minimized, the overall size of the optics plus any alignment adjustment mechanism should be the smallest that produces an acceptable image. The hydrodynamic forces created by the display unit and alignment mechanism must be low enough not to disrupt swimming. If the forces are too great, the display unit attached to the goggle may cause the goggles to leak or fall off the swimmer entirely. Even lesser forces may cause discomfort or annoyance since those forces are transmitted to the swimmer at the eye socket and/or head.

It is also noted that the hydrodynamic forces created while swimming also place a relatively large stress on any adjustment mechanism. The hydrodynamic forces, which scale as a function of the overall exposed area of the mechanism, are much greater than the forces generated by air or by inertia. From a diving start, the swimmer enters the water at speeds near 4 m/s (9 mph) (Taladriz, et al. Journal of Biomechanics 49 (2016) 1789-1793) producing hydrodynamic forces equal to the forces produced at a windspeed of 114 m/s (255 mph). The hydrodynamic forces associated with swimming would require the alignment adjustment mechanism to be much stronger and stiffer and thus more bulky than the equivalent mechanism for use in air.

Various embodiments shown and described herein leverage the reproducible fit of swimming goggles to allow the display unit to be attached without the adjustable alignment mechanism that would normally be required to accommodate the anthropometric variations among swimmers and the variations in fit each time the unit is donned. Recognizing that any alignment mechanism needs to be only one-time positionable, the inventor has developed several embodiments that allow a display unit with minimally sized optics and eye-box to be attached to swimming goggles while accommodating anthropometric variations.

Attachment Process and Particular Embodiments

In the attachment processes shown and described with respect to the following embodiments, the user first dons their goggles and powers the display unit 301 to project an image of the display through lens 901. These embodiments also allow the user to attach the display unit to either the left or the right eye. The inventor has observed that swimmers prefer to have the display unit mounted in front of their dominant eye. This flexibility in placement contrasts to most temple mounted displays, in which position is fixed to one side or the other, without being interchangeable. Display unit may thus include software, e.g., running on microcontroller 1010 (FIG. 10) with a user-selectable setting enabling the user/swimmer to rotate the image depending on which eye the swimmer has chosen to mount the display unit 301, i.e., to ensure that the image (i.e., the visual output of the display) is rotated into an upright position regardless of whether the display unit 301 is mounted in front of the swimmer's left or right eye, as discussed in greater detail hereinbelow. Moreover, in embodiments in which the lens 901 is inclined relative to the forward facing direction of the goggles, display unit 301 may be provided with one or more conventional sensor(s), e.g., accelerometer(s) 1014 along with the aforementioned software to automatically rotate the image depending on the eye chosen for mounting. The inventor has also recognized that in many applications, it is desirable to place the displayed image away from the center of the user's visual field, and in particular embodiments, towards the nasal visual field rather than the temporal visual field. While such positioning tends to be counter-intuitive and may disadvantageously add complexity, it has been found that such positioning often provides a better experience for the user than conventional positioning.

In particular embodiments, to generate the displayed image in the nasal visual field, the display unit 301 is placed near the nosepiece 2601 of the goggle, as shown in FIG. 26. The lens 901 may then be inclined to the goggle face 701 such that the optical axis of lens 1501 is coincident with the optical axis of the eye when the user is looking at the center of the display (FIG. 27). In addition, or in the alternative, the optical axis may be inclined using a mirror, prism, freeform lens, or other method.

In particular embodiments, this angle of inclination of lens 1501 is shown as angle θ, taken relative to the goggle face 701, in which the face 701 is substantially orthogonal to the forward facing direction of the goggles when worn by a user. This ‘forward facing direction’ of the goggles is substantially parallel to the optical axis 1502 of the user's eye when looking straight ahead, such as shown in FIGS. 14-16, while wearing the goggles. As such, the angle of inclination of the optical axis of the lens 1501 may alternately be shown as angle α (FIGS. 28 and 29), taken relative to the goggles' forward facing direction, which in the embodiments shown, corresponds to 90°-θ. Characterizing the angle of inclination of the lens in terms of angle α rather than in terms of angle θ is preferable with embodiments configured for use with goggles having curved faces and/or faces that are otherwise non-orthogonal to the forward facing direction, as will become apparent in connection with the following discussion. In particular embodiments, the angle of inclination, θ, of the aligned optical axes 1501, 1502 is typically greater than 60 degrees, and in particular embodiments, 65 degrees (i.e., angle α is less than 30 degrees, and in particular embodiments, 25 degrees) to help prevent interference between the waterproof case 1101 and the nosepiece 2601. Use of a significantly smaller angle θ (or larger angle α) should also be avoided in many applications to help avoid the eye strain that may be experienced by some users when looking sharply toward the nasal visual field. Angle θ values greater than about 65 degrees (angle α less than about 25 degrees) have been found to locate the displayed image at a comfortable angle, while values as high as about 75 degrees (angle α as low as about 15 degrees) are preferred in many applications.

It is also noted that a significantly larger angle θ (or smaller angle α) should be avoided in order to avoid placing the display in the center of the user's field of view as mentioned hereinabove. The present inventor has recognized that if angle θ is too large, the waterproof case 1101 enclosing the lens will block regions of binocular vision necessary for swimmers to judge their distance from the end of the pool. In this regard, it is noted that conventional swimmers' goggles have an arcuate base sized and shaped to engage an eye socket of the swimmer, e.g., with sub-millimeter positional reproducibility as discussed hereinabove. The arcuate base thus defines a notional goggle center corresponding to a center of the swimmer's eye when worn by the swimmer.

FIG. 28 shows how the waterproof case 1101 occludes an area of binocular vision defined by angle φ. As shown, the outer-most face (i.e., furthest from the user's nose) 2801 of the waterproof case 1101 blocks the nasal visual field at angles greater than φ/2 from the forward facing direction of the goggles, originating at the notional goggle center. As shown, this blockage creates a triangular region defined by angle φ without binocular vision that extends a distance

$\frac{IPD}{2 \cdot {\tan\left( {\varphi/2} \right)}},$ from the eyes, where IPD is the interpupillary distance. The IPD is less than 75 mm for nearly all people. As long as φ is greater than 8 degrees (i.e., φ/2 is greater than 4 degrees), the swimmer will have binocular vision directly in front of them at distances greater than 0.5 meters. Once a lap swimmer is within 0.5 meters of the end of the pool, they will have already started to execute their turn, thus the region of occluded binocular vision less than 0.5 meters in front of the swimmer should not impair their ability to judge distance at a critical moment. In particular embodiments, angle φ is within a range of from at least about 8 degrees up to about 20 degrees, (i.e., φ/2 is within a range of from at least about 4 degrees up to about 10 degrees).

Turning now to FIG. 29, to summarize the foregoing, in various embodiments the optical axis 1501 of lens 901 is disposed obliquely relative to the goggles' forward facing direction, diverging from one another at the center of the user's eye by an angle α of no more than about 30 degrees, to avoid interfering with the nosepiece 2601. On the other hand, the outside edge/surface 2801 of the housing/case 1101 should be offset from the goggles' forward facing direction by an angle φ/2 extending from the center of the user's eye, of no less than about 4 degrees to avoid interfering with the user's binocular vision in the pool. In particular embodiments, angle α is within a range of from about 15 degrees to about 25 degrees, while angle φ/2 is within a range of from about 4-10 degrees.

It can also be seen that φ, θ, and the distance Z between the goggle face 701 and the eye, typically 8 mm, determine the limiting position of the face 2801 of the waterproof case 1101. The distance Y between the optical axis 1501 of lens 901 and the face 2801 of the waterproof case measured along the goggle face 701 is given by

$Y = {\left( {Z + R} \right)\left( {{\cot\;\theta} - {\tan\;\frac{\varphi}{2}}} \right)}$ where R is the radius of the eye which is around 10 mm. For example, if θ is a desirable 65 degrees and φ is a minimally desirable 8 degrees, Y will be 7 mm. Alternatively, if φ is a more desirable 20 degrees and θ is a more desirable 68 degrees, Y will be 4 mm. As discussed hereinabove, in particular embodiments, the waterproof case 1101 encloses a lens of at least a 4 mm diameter. Thus, in this example the more desirable values of φ and θ provide a distance of at least about 2 mm in a direction measured generally along goggle face 701 to accommodate this lens and the thickness of face 2801 of the waterproof case.

As previously discussed, it was observed that most swimmers prefer the display unit to be mounted in front of their dominant eye. A display unit 301 with a lens 901 inclined at an angle to allow the display unit to be mounted in the nasal visual field of the left eye must be rotated 180 degrees about a normal to the viewing window 1101 to be mounted in a corresponding position in the nasal visual field of the right eye. Thus, in particular embodiments, the display unit 301 is able to attach to the goggles in both orientations. In these embodiments, the display unit also includes a means to detect its orientation, and to orient the image right side up regardless of which eye the display unit is mounted in front of.

Embodiment with Pressure Sensitive Adhesive Film Only

A simple embodiment is show in FIG. 17. Disposed on the viewing window 1102 is a transparent adhesive film 1701. The user brings the display unit near the goggle face 701 holding the viewing window of the display unit 301 substantially parallel to the goggle face (FIG. 19). The user moves the display over the goggle face until the entire displayed image is visible. The user then presses the display unit against the goggle face causing the pressure sensitive adhesive 1701 to adhere the display unit to the goggle face.

Since the location of the eye-box depends both on the orientation and position of the display, the viewing window must be constrained to be parallel to the goggle face during the alignment process. This constraint is most easily achieved if the viewing window is held in contact with the goggle face during the alignment process. However, pressure sensitive adhesive does not slide easily over the goggle face and can adhere inadvertently, attaching the display unit in an undesirable position. So while this embodiment is suitable for many applications, it may be desirable to use other embodiments that provide for easier alignment of the unit 301.

Embodiment with Pressure Sensitive Adhesive Film and Release Liner

In an embodiment shown in FIG. 18 the adhesive film 1701 is covered with a release liner 1801. This film allows the user to slide the display unit across the goggle face, maintaining the viewing window parallel to the goggle face. The release liner may be folded over on itself and extend beyond the display window creating a tab 1802.

The user aligns this embodiment by sliding the display unit across the goggle face (as shown in FIG. 19) until the entire image is visible. The user then presses the display unit against the goggle face so that the display unit remains in the aligned position while they pull the tab 1802 removing the release liner and allowing the pressure sensitive adhesive to adhere the display unit to the goggle face.

Embodiment with Alignment Fixture

These previously described embodiments require the user to maintain the desired alignment freehand while they adhere the display unit to the goggle face. In the following embodiment, a fixture 2001 (FIG. 20) maintains the display unit in proper alignment while the user adheres the display unit 301. The fixture has a temporary adhesive disposed on one face 2002 that allows it be adhered to the goggle face 701 during the alignment process and removed once the display unit is attached. Other faces 2003 of the fixture 2001 mate with faces 2004 of the display unit allowing the fixture 2001 to slide relative to the display unit while constraining face 2002 to be parallel to the viewing window 1102. The fixture 2001 has a detent 2006 such as in the form of a button or rail as shown, that engages a corresponding feature (e.g., recess or slot) 2008 in housing 301 to hold the viewing window 1102 proud of face 2002 (FIG. 21), but with sufficient force the detent releases allowing the fixture to slide relative to the display unit towards goggle face 701. This detent allows the user to slide the display while it is in contact with the face of the goggle without the adhesive coated face 2002 inadvertently adhering to the goggle.

At the start of the attachment process using this embodiment, the viewing window maybe free of adhesive or it may have an adhesive with a release liner disposed on its surface as in the previous embodiment. The user attaches the fixture to the display unit with the detent engaged and the viewing window proud of face 2002 as shown in FIG. 21. With the assembly 2101 in this configuration the viewing window prevents the adhesive coated face 2002 from inadvertently sticking to the goggle face (FIG. 22). The user then positions assembly 2101 with the viewing window 1102 in contact with goggle face 701 as shown in FIG. 23 and slides the assembly to a position where the entire image is visible. The user then presses fixture 2001 toward the goggle face, releasing the detent. The fixture's faces 2003 slide along faces 2004 of the display unit until face 2002 contacts the goggle face and the temporary adhesive on face 2002 adheres to the goggle face (FIG. 24).

With the fixture attached to the goggle face, the user may now adhere the display unit to the goggle face while the fixture maintains the desired alignment. Since the user does not have to simultaneously adhere and align the display unit, adhesion methods that were not practical freehand may be used.

As in the previous embodiment, an adhesive disposed on the viewing window, may now be exposed by removing the release liner (e.g., as shown in FIG. 18), allowing the display unit to be attached to the goggle face in the position maintained by the fixture. Since the user does not have to simultaneously adhere and align the display unit and can remove the display unit from fixture 2001 and then return the display unit to fixture 2001 in the same position on the goggle face 701, adhesives that were not practical for use freehand can be employed with the fixture. These adhesives may be liquids that would make the display unit slide too easily across the goggle face to be positioned in a freehand manner, or that develop tack so slowly that it would be impractical to maintain alignment by hand until the tack itself was sufficient to maintain alignment, or that develop tack so quickly, such as hot-melts, that the desired alignment must be established before the adhesive is applied. The fixture also allows the user to doff the goggle before adhering the display unit. This allows the use of adhesives that require heating to activate or that would be unpleasant or unsafe to use near the face. Once the display unit is sufficiently adhered to the goggle face, the fixture is removed from the goggle face.

Since it is likely that swim goggles will need to be replaced due to normal wear and tear, the adhesive used to adhere the display unit to the goggle face should allow the display unit to be removed without damaging the unit. Since the swim goggle is used in a narrow temperature range the adhesive may be designed to be easily removed at temperatures that are outside typical swimming temperatures but are easily achieved by the user. The inventor has observed that consumer hotmelt adhesives produce a sufficiently strong bond at swimming temperatures yet becomes brittle at temperatures inside a household freezer, allowing easy removal. It should also be recognized that although adhesive has been shown and described as an optimal means of fastening the housing 301 and/or fixture 2002 to the goggles, other attachment means may be used without departing from the scope of the present invention. For example, snaps, hook and loop, or other mechanical fasteners known to those skilled in the art may be built into the housing and the goggles to permit the user to releasably secure the housing at any one of a plurality of locations along the face of the goggles.

Turning now to FIG. 30, in a further embodiment, a display unit 301′ is substantially similar to display unit 301 shown and described hereinabove, but for a modified form factor configured to connect the two eye shields 3001, 3002 of the goggle as shown. The display unit 301′ may be attached to the goggle face 701 of eye shield 3001 by any of the methods described hereinabove. The display unit may be attached to the other eye shield 3002 by any convenient flexible means that allows the two eye shields to seat comfortably around the eyes. For example, it should be recognized that many models of swim goggle have user-replaceable nosepieces. On such goggles the display unit 301′ may be flexibly attached to eye shield 3002 by removing the original nosepiece after the display unit 301′ is attached to 3001 and then connecting the display unit 301′ to the feature on 3002 that connected to the original nosepiece. In FIG. 30 this attachment is illustrated with the commonly used barbed connection 3003. It should be recognized that this embodiment allows a relatively large percentage of the volume of the display unit to be attached directly in front of the nose, where it is effectively outside of the swimmer's view.

The present invention has been described in particular detail with respect to various possible embodiments, and those of skill in the art will appreciate that the invention may be practiced in other embodiments. First, the particular naming of the components, capitalization of terms, the attributes, data structures, or any other programming or structural aspect is not mandatory or significant, and the mechanisms that implement the invention or its features may have different names, formats, or protocols. Further, the system may be implemented via a combination of hardware and software, as described, or entirely in hardware elements. Also, the particular division of functionality between the various system components described herein is merely exemplary, and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead performed by a single component.

Some portions of above description present the features of the present invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. These operations, while described functionally or logically, are understood to be implemented by computer programs. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules or by functional names, without loss of generality.

Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.

Certain aspects of the present invention include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions of the present invention could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by real time network operating systems.

The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a computer selectively activated or reconfigured by a computer program stored on a computer readable medium that can be accessed by the computer. Such a computer program may be stored in a tangible, non-transitory, computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), any other appropriate static, dynamic, or volatile memory or data storage devices, or other type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Furthermore, the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.

The algorithms and operations presented herein are not inherently related to any particular computer or other apparatus. Various systems may also be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will be apparent to those of skill in the art, along with equivalent variations. In addition, the present invention is not described with reference to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any references to specific languages are provided for disclosure of enablement and best mode of the present invention.

Finally, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

It should be further understood that any of the features described with respect to one of the embodiments described herein may be similarly applied to any of the other embodiments described herein without departing from the scope of the present invention. 

Having thus described the invention, what is claimed is:
 1. An apparatus including a wearable, waterproof, user interface device configured for being worn by a swimmer, the apparatus comprising: a microcontroller; a sensor disposed in communication with said microcontroller, the sensor configured to capture information pertaining to the swimmer's performance in real-time; a near-eye display configured for being disposed on swim goggles worn by the swimmer, the near-eye display being communicably coupled to the microcontroller and configured to convey said information pertaining to the swimmer's performance to the swimmer in real time, using visual output; the microcontroller, the sensor, and the near-eye display, being integrally disposed within a housing, the housing having a viewing window configured for being removably disposed in surface-to-surface engagement with a face of the swim goggles, wherein the near-eye display is viewably disposed within a portion of a field of view of one of the swimmer's eyes when wearing the goggles, while leaving a remainder of said field of view unobstructed; wherein the housing is sized and shape for being removably secured in surface-to-surface engagement with a face of the swim goggles at any one of a plurality of locations on said face, said any one of a plurality of locations being selectable by the user to obtain an optimal viewing position; further comprising means for sliding said viewing window along said face prior to removably securing the housing in surface-to-surface engagement with the face using adhesive; and an alignment fixture having a goggle engaging surface with a fixture adhesive disposed thereon; the alignment fixture sized and shaped to slidably receive the housing the housing therein to form a fixture/housing assembly in which a detent releasably maintains the viewing window of the housing proud of the goggle engaging surface; the fixture/housing assembly being movable along the face of the goggles by sliding the viewing window along said face until the housing reaches the optimal viewing position, at which point the fixture in moveable against a bias of the detent to move the goggle engaging surface into engagement with the face while maintaining the optimal viewing position, wherein the fixture adhesive secures the fixture to the face to delineate the position of optical alignment; and the housing being removable from the secured fixture to permit application of adhesive to the viewing window and replacement of the housing into the fixture to secure the viewing window to the face, and subsequent removal of the fixture from the face.
 2. An apparatus for measuring a swimmer's speed and conveying the speed to the swimmer in real time using the wearable, waterproof, user interface device of claim 1, the apparatus comprising: a plurality of ultrasonic beacons each having a transducer configured to emit ultrasonic signals in a body of water within which the swimmer is swimming; a wearable, waterproof, ultrasonic receiver configured for being worn by the swimmer, the receiver configured to receive the ultrasonic signals emitted by the beacons and generate corresponding signal data; the receiver including the microcontroller configured to capture and use the signal data to calculate the swimmer's position and speed in real time; and said wearable, waterproof, user interface device configured to convey the swimmer's speed to the swimmer in real time, using one or more of visual, audible, and tactile output.
 3. The apparatus of claim 2, further comprising a radio communicably coupled to the microcontroller and configured to transmit the swimmer's speed to recipients disposed remotely from the swimmer.
 4. The apparatus of claim 3, wherein the radio is integrally disposed with the receiver.
 5. The apparatus of claim 4, wherein the receiver comprises an accelerometer or capacitive sensor disposed in communication with the microcontroller, the accelerometer or capacitive sensor configured to automatically activate the microcontroller upon detecting movement or contact with water.
 6. The apparatus of claim 5, wherein the microcontroller, radio, and user interface device are integrally disposed with the receiver within a waterproof housing.
 7. The apparatus of claim 2, wherein the body of water is a swimming pool.
 8. The apparatus of claim 2, wherein the signal data includes time of arrival of the ultrasonic signals.
 9. The apparatus of claim 8, wherein the signal data includes location information for the beacon originating each of the ultrasonic signals.
 10. The apparatus of claim 8, wherein the microcontroller is configured to use the signal data and time of origin information for the ultrasonic signals to determine distance between the swimmer and each of the beacons in real time, using the formula: D=ct where t is propagation time in seconds D is distance in meters c is the speed of sound in m/s.
 11. The apparatus of claim 10, being configured to calculate the speed of sound in the body of water using the formula: c=1449.2+4.6t−5.5×10⁻² t ²+2.9×10⁻⁴ t ³+(1.34−10⁻² t)(s−35)+1.6×10⁻² z where c is the speed of sound in m/s t is temperature in ° C. s is salinity in ppt; and z is depth in meters.
 12. The apparatus of claim 11, wherein the location and time of origin information for each of the ultrasonic signals is transmitted from the ultrasonic beacons by radio to the receiver.
 13. The apparatus of claim 11, wherein said plurality of ultrasonic beacons comprises at least three beacons and the microcontroller is configured to use the distance between the receiver and each of the at least three beacons to determine the location of the receiver (xa,ya,za) using the formula D _(a,b)=√{square root over ((x _(a) −x _(b))²+(y _(a) −y _(b))²+(z _(a) −z _(b))²)} where Da,b is the distance between the receiver (a) and each beacon (b), and (xb,yb,zb) is the location of beacon (b).
 14. The apparatus of claim 2, wherein the receiver comprises an ultrasonic piezoelectric receiver and a battery.
 15. The apparatus of claim 2, wherein the near-eye display comprises a low-power (20 μA or less), low-pixel count (3232 pixels or less) LCD or LED array operated by the microcontroller.
 16. The apparatus of claim 15, wherein the near-eye display comprises an optical display module having a liquid crystal material disposed between two layers of glass patterned with row and column electrodes, superposed with a light emitting diode and a lens.
 17. The apparatus of claim 1, wherein the housing is configured for being removably secured within a portion of the field of view of either of the swimmer's eyes.
 18. The apparatus of claim 17, wherein the microcontroller is configured to rotate the visual output into an upright position for whichever one of the swimmer's eyes is being used to view the visual output.
 19. The apparatus of claim 17, wherein the near-eye display comprises a lens having a clear aperture within a range of from about 3 mm to about 8 mm.
 20. The apparatus of claim 19, wherein the near-eye display comprises a lens having a clear aperture within a range of from about 3.5 mm to about 6.5 mm.
 21. The apparatus of claim 20, wherein the lens has an optical axis configured to extend at an angle α from a forward facing direction of the goggles, said angle α being within a range of from about 15 degrees to about 25 degrees.
 22. The apparatus of claim 21, wherein: the goggles have a substantially arcuate base sized and shaped to engage an eye socket of the swimmer, the arcuate base defining a notional goggle center corresponding to a center of the swimmer's eye when worn by the swimmer; and the housing is sized and shaped for being offset from said forward facing direction by an angle φ/2 extending from the notional goggle center, the angle φ/2 being within a range of from about 4 degrees to about 10 degrees.
 23. The apparatus of claim 1, wherein said sensor comprises an accelerometer configured to capture information pertaining to the swimmer's lap count in real-time.
 24. The apparatus of claim 1, wherein: an ultrasonic receiver is disposed within said housing in communication with said microcontroller, the receiver configured to receive ultrasonic signals emitted by a plurality of beacons in a body of water within which the swimmer is swimming, and to generate corresponding signal data; and the microcontroller is configured to capture and use the signal data to calculate the swimmer's position and speed in real time.
 25. The apparatus of claim 22, further comprising the goggles.
 26. The apparatus of claim 1, wherein said means for sliding comprises a release liner disposable between said adhesive and said face, said release liner configured for being withdrawn from said adhesive once said near-eye display has been moved to said optimal viewing position.
 27. The apparatus of claim 2, wherein each of the plurality of beacons comprises an other radio, an other microcontroller, a clock, a power source, a pressure sensor, a salinity sensor, a temperature sensor, and an ultrasonic piezoelectric transducer.
 28. The apparatus of claim 27, wherein the beacons are configured to synchronize the other clocks with one another using the other radios.
 29. The apparatus of claim 28, wherein the beacons are configured to synchronize their other clocks by transmitting their times to one another using their other radios, wherein one of the beacons is designated a hub beacon, with remaining beacons configured to adjust their clocks to be synchronized with that of the hub beacon.
 30. The apparatus of claim 29, wherein upon synchronization, the beacons are configured to transmit ultrasonic signals at predetermined times at mutually distinct frequencies or modulations wherein each beacon is uniquely identifiable by the other beacons and by the receiver worn by the swimmer.
 31. The apparatus of claim 30, wherein: each beacon is configured to record the time of arrival of the signals received from the other beacons and to compare the time of arrival to the predetermined transmission times to calculate the signal propagation times; each beacon is further configured to share the signal propagation times along with the depth of its transducer, temperature, and salinity, with the other beacons; the transducer depth being determined by a pressure sensor disposed at a fixed depth relative to the transducer; the other microcontrollers of each of the beacons are configured to use the signal propagation times between beacons along with the transducer depth to determine the relative position of each transducer by multiplying the propagation times by the of speed of sound in the body of water, with the speed of sound in the body of water being determined using the formula: c=1449.2+4.6t−5.5×10⁻² t ²+2.9×10⁻⁴ t ³+(1.34−10⁻² t)(s−35)+1.6×10⁻² z Where c is the speed of sound in m/s t is temperature in ° C. S is salinity in ppt z is depth in meters.
 32. The apparatus of claim 31, wherein the other microcontrollers are configured to determine distance D between each pair of beacons a,b located at coordinates (x,y,z), by using the formula: D _(a,b)=√{square root over ((x _(a) −x _(b))²+(y _(a) −y _(b))²+(z _(a) −z _(b))²)}.
 33. The apparatus of claim 31, wherein once the beacons have determined their relative positions, the beacons are configured to transmit signals that allow a plurality of said receivers worn by swimmers in the body of water to determine their position and speed.
 34. A method of measuring a swimmer's speed and conveying the speed to the swimmer in real time using the wearable, waterproof, user interface device of claim 16, the method comprising: (a) deploying a plurality of ultrasonic beacons each having an ultrasonic transducer, to emit ultrasonic signals in a body of water within which the swimmer is swimming; (b) receiving, with a wearable, waterproof, ultrasonic receiver configured for being worn by the swimmer, the ultrasonic signals emitted by the beacons and generating corresponding signal data; (c) capturing and using, with the microcontroller, the signal data to calculate the swimmer's position and speed in real time; (d) conveying, with said wearable, waterproof, user interface device,the swimmer's speed to the swimmer in real time, using one or more of visual, audible, and tactile output, the user interface device including a near-eye display configured for being disposed on swim goggles worn by the swimmer.
 35. A method of producing an apparatus including a wearable, waterproof, user interface device configured for being worn by a swimmer, the method comprising: providing a microcontroller; disposing a sensor in communication with the microcontroller; configuring the sensor to capture information pertaining to the swimmer's performance in real-time; configuring a near-eye display for being disposed on swim goggles worn by the swimmer; communicably coupling the near-eye display to the microcontroller and to convey said information pertaining to the swimmer's performance to the swimmer in real time, using visual output; integrally disposing the microcontroller, the sensor, and the near-eye display within a housing and providing the housing with a viewing window configured for being removably disposed in surface-to-surface engagement with a face of the swim goggles, wherein the near-eye display is viewably disposed within a portion of a field of view of one of the swimmer's eyes when wearing the goggles, while leaving a remainder of said field of view unobstructed; sizing and shaping the housing for being removably secured in surface-to-surface engagement with a face of the swim goggles at any one of a plurality of locations on said face, said any one of a plurality of locations being selectable by the user to obtain an optimal viewing position; further comprising providing means for sliding said viewing window along said face prior to removably securing the housing in surface-to-surface engagement with the face using adhesive; and providing an alignment fixture having a goggle engaging surface with a fixture adhesive disposed thereon; sizing and shaping the alignment fixture to slidably receive the housing therein to form a fixture/housing assembly in which a detent releasably maintains the viewing window of the housing proud of the goggle engaging surface; the fixture/housing assembly being movable along the face of the goggles by sliding the viewing window along said face until the housing reaches the optimal viewing position, at which point the fixture is movable against a bias of the detent to move the goggle engaging surface into engagement with the face while maintaining the optimal viewing position, wherein the fixture adhesive secures the fixture to the face to delineate the position of optical alignment; and configuring the housing to be removable from the secured fixture to permit application of adhesive to the viewing window and replacement of the housing into the fixture to secure the viewing window to the face, and subsequent removal of the fixture from the face.
 36. A method of producing an apparatus for measuring a swimmer's speed and conveying the speed to the swimmer in real time, the method comprising: (a) configuring a plurality of ultrasonic beacons each having an ultrasonic transducer, to emit ultrasonic signals in a body of water within which the swimmer is swimming; (b) configuring a wearable, waterproof, ultrasonic receiver for being worn by the swimmer, to receive the ultrasonic signals emitted by the beacons, and to generate corresponding signal data; (c) communicably coupling a microcontroller to the receiver, and configuring the microcontroller to capture and use the signal data to calculate the swimmer's position and speed in real time; (d) providing a wearable, waterproof, user interface device configured for being worn by the swimmer as set forth in claim 35, and communicably coupling the wearable user interface to the microcontroller to convey the swimmer's speed to the swimmer in real time, using one or more of visual, audible, and tactile output, wherein the user interface device includes a near-eye display configured for being disposed on swim goggles worn by the swimmer.
 37. The method of claim 36, wherein the signal data includes time of arrival of the ultrasonic signals.
 38. The method of claim 37, wherein the signal data includes location information for the beacon originating each of the ultrasonic signals.
 39. The method of claim 37, further comprising configuring the microcontroller to use the signal data and time of origin information for the ultrasonic signals to determine distance between the swimmer and each of the beacons in real time, using the formula: D=ct where t is propagation time in seconds D is distance in meters c is the speed of sound in m/s.
 40. The method of claim 39, further comprising calculating the speed of sound in the body of water using the formula: c=1449.2+4.6t−5.5×10⁻² t ²+2.9×10⁻⁴ t ³+(1.34−10⁻² t)(s−35)+1.6×10⁻² z where c is the speed of sound in m/s t is temperature in ° C. S is salinity in ppt; and z is depth in meters.
 41. The method of claim 40, wherein said plurality of ultrasonic beacons comprises at least three beacons, the method further comprising configuring the microcontroller to use the distance between the receiver and each of the at least three beacons to determine the location of the receiver (xa,ya,za) using the formula D _(a,b)=√{square root over ((x _(a) −x _(b))²+(y _(a) −y _(b))²+(z _(a) −z _(b))²)}, where Da,b is the distance between the receiver (a) and each beacon (b), and (x_(b),y_(b),z_(b)) is the location of beacon (b).
 42. The method of claim 35, comprising configuring the housing for being removably secured within a portion of the field of view of either of the swimmer's eyes.
 43. The method of claim 42, comprising configuring the microcontroller to rotate the visual output into an upright position for whichever one of the swimmer's eyes is being used to view the visual output.
 44. The method of claim 42, comprising providing the near-eye display with a lens having a clear aperture within a range of from about 3 mm to about 8 mm.
 45. The method of claim 44, comprising providing the near-eye display with a lens having a clear aperture within a range of from about 3.5 mm to about 6.5 mm.
 46. The method of claim 45, comprising providing the lens with an optical axis configured to extend at an angle α from a forward facing direction of the goggles, said angle α being within a range of from about 15 degrees to about 25 degrees.
 47. The method of claim 46, wherein: the goggles have a substantially arcuate base sized and shaped to engage an eye socket of the swimmer, the arcuate base defining a notional goggle center corresponding to a center of the swimmer's eye when worn by the swimmer; and the method further comprising sizing and shaping the housing for being offset from said forward facing direction by an angle φ/2 extending from the notional goggle center, the angle φ/2 being within a range of from about 4 degrees to about 10 degrees.
 48. The method of claim 35, wherein said sensor comprises an accelerometer, and further comprising configuring the sensor to capture information pertaining to the swimmer's lap count in real-time.
 49. The method of claim 35, further comprising: disposing an ultrasonic receiver within said housing in communication with said microcontroller; configuring the receiver to receive ultrasonic signals emitted by a plurality of beacons in a body of water within which the swimmer is swimming, and to generate corresponding signal data; and configuring the microcontroller to capture and use the signal data to calculate the swimmer's position and speed in real time.
 50. The method of claim 47, further comprising providing the goggles.
 51. The method of claim 35, wherein said means for sliding comprises a release liner disposable between said adhesive and said face, said release liner configured for being withdrawn from said adhesive once said near-eye display has been moved to said optimal viewing position.
 52. The method of claim 36, comprising configuring each of the plurality of beacons to include an other radio, an other microcontroller, a clock, a power source, a pressure sensor, a salinity sensor, a temperature sensor, and an ultrasonic piezoelectric transducer.
 53. The method of claim 52, comprising configuring each of the beacons to synchronize the other clocks with one another using the other radios.
 54. The method of claim 53, comprising configuring the beacons to synchronize their other clocks by transmitting their times to one another using their other radios, wherein one of the beacons is designated a hub beacon, with remaining beacons configured to adjust their clocks to be synchronized with that of the hub beacon.
 55. The method of claim 54, comprising configuring the beacons wherein upon synchronization, the beacons transmit ultrasonic signals at predetermined times at mutually distinct frequencies or modulations wherein each beacon is uniquely identifiable by the other beacons and by the receiver worn by the swimmer.
 56. The method of claim 55, further comprising: configuring each beacon to record the time of arrival of the signals received from the other beacons and to compare the time of arrival to the predetermined transmission times to calculate the signal propagation times; configuring each beacon to share the signal propagation times along with the depth of its transducer, temperature, and salinity, with the other beacons, the transducer depth being determined by a pressure sensor disposed at a fixed depth relative to the transducer; configuring the other microcontrollers of each of the beacons to use the signal propagation times between beacons along with the transducer depth to determine the relative position of each transducer by multiplying the propagation times by the of speed of sound in the body of water, with the speed of sound in the body of water being determined using the formula: c=1449.2+4.6t−5.5×10⁻² t ²+2.9×10⁻⁴ t ³+(1.34−10⁻² t)(s−35)+1.6×10⁻² z where c is the speed of sound in m/s t is temperature in ° C. S is salinity in ppt z is depth in meters.
 57. The method of claim 56, comprising configuring the other microcontrollers to determine distance D between each pair of beacons a,b located at coordinates (x,y,z), by using the formula: D _(a,b)=√{square root over ((x _(a) −x _(b))²+(y _(a) −y _(b))²+(z _(a) −z _(b))²)}.
 58. The method of claim 56, comprising configuring the beacons, wherein once the beacons have determined their relative positions, the beacons transmit signals that allow a plurality of said receivers worn by swimmers in the body of water to determine their position and speed. 